1. Field of the Invention
The present disclosure is directed to a stereo vision technique and more particularly, to a disparity estimation method of stereoscopic images.
2. Description of Related Art
Stereo vision technology is widely applied in various fields in recent years. Generally speaking, the stereo vision includes two stages. In an earlier stage, a disparity map between two images is calculated by using stereo matching, and through trigonometric computations, a depth map may be obtained. In a later stage, images of different viewing angles are produced by using the depth map.
In the earlier stage, disparity estimation includes four steps, matching cost computation, cost aggregation, disparity selection and optimization, and disparity correction. The matching cost computation step is used to find out differences (which are referred to as cost values) between two images (e.g., a left-eye image and a right-eye image). In the cost aggregation step, a cost value adjustment is performed according to the cost values of adjacent pixels by using the cost aggregation method so as to enhance the relation between the pixels and reliability of the cost values. After an accumulated cost value is obtained, the disparity selection and optimization step is performed by using the cost values.
Typically, in the disparity optimization step, an energy function is used for the disparity optimization. The energy function is E(d)=Edata(d)+Esmooth(d). Therein, Edata represents a cost value, Esmooth is an additional cost value obtained with the consideration of relationship between pixels. And, algorithms for deciding the Esmooth may include a graph-cut (GC) algorithm, a belief propagation (BP) algorithm, and a dynamic programming (DP) algorithm. However, when performing the disparity optimization step, an order for calculation is from left to right for the entire row, from right to left, and then from top to bottom. Accordingly, during the calculation process for the disparity selection and optimization, the cost values of the whole image has to be loaded into the memory for calculation. However, since the aggregated cost value is quite large, not only a large amount of computations have to be executed, but also a large amount of memory spaces is needed, which lead to a heavy burden when the real-time processing is required by the conventional technology.